<?php
/**
 * Description of indexclass
 *
 * @author del Valle, Federico <quaidy@gmail.com>
 */
class index {
    /**
     * @var array
     */
    private static $marcos = array();
    /**
     *
     * @var template
     */
    private static $template = null;

    private function __construct() {
    }

    /**
     * Carga el indice segun config.ini
     */
    private static function load_index() {
      //vemos en que entorno estamos
      if (empty($_SESSION["ENTORNO"])) {
        $entorno = "principal";
      } else {
        $entorno = $_SESSION["ENTORNO"];
      }

      self::$template = new template(configManager::obtener($entorno, "tpl"));
      self::$marcos = configManager::obtener($entorno."-marcos");
      foreach (self::$marcos as $indice => $contenido) {
        self::$template->agregar($indice,$contenido); 
      }

      //cargamos los js's generales
      $jss = configManager::obtener("general", "js");
      if (!empty($jss)) {
        foreach ($jss as $js) {
          self::$template->set_js($js);
        }
      }

      //cargamos los js's especificos del entorno
      $jss = configManager::obtener($entorno, "js");
      if (!empty($jss)) {
        foreach ($jss as $js) {
          self::$template->set_js($js);
        }
      }

      $csss = configManager::obtener($entorno, "css");
      if (is_array($csss)) {
        foreach ($csss as $css) {
          self::$template->set_css($css);
        }
      } else {
        self::$template->set_css($csss);
      }


      $fuentes = configManager::obtener($entorno, "fuentes");
      if (is_array($fuentes)) {
        foreach ($fuentes as $fuente) {
          self::$template->cargar_fuente($fuente);
        }
      } elseif (!empty($fuentes)) {
        self::$template->cargar_fuente($fuentes);
      }

    }


    /**
    * Adjunta un template
    *
    * @param string $clave parametro del tpl donde se va a insertar
    * @param template $template
    */
    public static function agregar($clave,$template,$es_html = false) {
      if (self::$template == null) {
         self::load_index();
      }
    
      self::$template->agregar(strtoupper($clave),$template,$es_html);
    }

    /**
     * Setea un parametro a parsear en el tpl
     *
     * @param string $nombre Nombre del parametro
     * @param string $valor valor del parametro
     * @param string $tpl Tpl interior
     */
    public static function asignar($clave,$valor,$tpl="") {
      if (self::$template == null) {
         self::load_index();
      }
      if (empty($tpl)) {
        self::$template->asignar($clave, $valor);
      } else {
        self::$template->asignar($clave, $valor,$tpl);
      }
    }

    public static function agregar_js($js) {
      self::$template->set_js($js);
    }

    public static function mostrar() {
      if (self::$template == null) {
         self::load_index();
      }
    
      self::$template->mostrar();
      die();
    }
}
?>
